package com.cn.kehong.dao;

import com.cn.kehong.domain.LineTask;
import com.cn.kehong.domain.LineTaskExample;

import java.util.ArrayList;
import java.util.List;

import com.cn.kehong.utils.QueryForm;
import org.apache.ibatis.annotations.Param;

public interface LineTaskMapper {
    int countByExample(LineTaskExample example);

    int deleteByExample(LineTaskExample example);

    int deleteByPrimaryKey(String id);

    int insert(LineTask record);

    int insertSelective(LineTask record);

    List<LineTask> selectByExample(LineTaskExample example);

    List<LineTask> selectCuMoRecordLineTasks();
    List<LineTask> selectXiMoRecordLineTasks();
    List<LineTask> selectGzRecordLineTasks();

    LineTask selectByPrimaryKey(String id);

    int updateByExampleSelective(@Param("record") LineTask record, @Param("example") LineTaskExample example);

    int updateByExample(@Param("record") LineTask record, @Param("example") LineTaskExample example);

    int updateByPrimaryKeySelective(LineTask record);

    int updateByPrimaryKey(LineTask record);

    int batchUpdateLineTasks(List<LineTask> records);

    int getLineTaskCount(QueryForm queryForm);

    List<LineTask> getLineTaskList(QueryForm queryForm);

    int countByTodayOrqt(@Param("factoryName") String factoryName);

    int getLineTaskListCountByApp(QueryForm queryForm);

    List<LineTask> getLineTaskListByApp(QueryForm queryForm);

//    List<LineTask> getLineTaskListByCompleted(@Param("lineType") String lineType, @Param("lineStatus") String lineStatus, @Param("factoryName") String factoryName);
    List<LineTask> getLineTaskListByCompleted( QueryForm queryForm);

//    List<LineTask> getProductionCompleted(@Param("factoryName") String factoryName);
    List<LineTask> getProductionCompleted(QueryForm queryForm);

//    List<LineTask> getProductionIsCompleted(@Param("factoryName") String factoryName);
    List<LineTask> getProductionIsCompleted(QueryForm queryForm);

    int getCountByZg(@Param("factoryName") String factoryName);

//    List<LineTask> seletByother(@Param("list") ArrayList<String> list,@Param("lineStatus") String lineStatus ,@Param("factoryName") String factoryName);
    List<LineTask> seletByother(QueryForm queryForm);

    List<LineTask> selectLineTasksByType();

    int batchInsertLineTasks(@Param("listItem") List<LineTask> records);

//    List<LineTask> getProductionCompletedByPk(@Param("factoryName") String factoryName);
    List<LineTask> getProductionCompletedByPk(QueryForm queryForm);

    int getProductionCompletedByPkCount(@Param("factoryName") String factoryName);

    int getcountByToday(QueryForm queryForm);
}